它们是 JavaScript 中的两种不同的键值对集合，主要区别如下：

map的键可以是任意类型，weakMap键只能是对象类型。

map 使用常规的引用来管理键和值之间的关系，因此即使键不再使用，map 仍然会保留该键的内存。
weakMap 使用弱引用来管理键和值之间的关系，因此如果键不再有其他引用，垃圾回收机制可以自动回收键值对。

